//入口函数
$(function () {
    //为登陆和注册添加点击事件事件
    $('#link_login').on('click', function () {
        $('.reg-box').hide();
        $('.login-box').show();
    })
    $('#link_red').on('click', function () {
        $('.login-box').hide();
        $('.reg-box').show();
    })

    //为layui-form表单添加自定义规则
    layui.form.verify({
        //密码长度规则
        pwd: [
            /^[\S]{6,12}$/
            , '密码必须6到12位，且不能出现空格'
        ],
        //确认密码是否一致规则
        repwd: function (value) {
            //获取注册表里密码框的内容
            let strPwd = $('.reg-box [name=password]').val().trim();
            //判断是否一致
            if (strPwd != value) {
                //如果不一致，则返回错误消息
                return '两次密码不一致，请重新输入~~'
            }
        }
    })

    //将注册/登陆信息提交给服务器
    //为注册表单注册事件
    $('#form_reg').on('submit', function (e) {
        //阻止默认提交行为
        e.preventDefault();
        //获取表单数据
        $.post(
            '/api/reguser',
            {
                username: $('#form_reg input[name=username]').val().trim(),
                password: $('#form_reg input[name=password]').val().trim(),
            },
            (res) => {
                //判断是否成功注册
                if (res.status == 1) {
                    return layer.msg(res.message, {
                        icon: 2,
                        time: 1000
                    });
                }
                layer.msg('注册成功，马上跳转到登陆界面~', {
                    icon: 1,
                    time: 1000   //一秒后关闭
                }, () => {
                    //触发登陆点击事件
                    $('#link_login').trigger('click');
                    //为了拿到表单提交事件的this，用于清空表单，这里运用了没有this的箭头函数
                    this.reset();
                });
            }
        )
    })

    //为登陆表单注册事件
    $('#form_login').on('submit', function (e) {
        //阻止默认提交行为
        e.preventDefault();
        //获取表单数据
        $.post(
            '/api/login',
            {
                username: $('#form_login input[name=username]').val().trim(),
                password: $('#form_login input[name=password]').val().trim(),
            },
            (res) => {
                //判断是否成功登陆
                if (res.status == 1) {
                    return layer.msg(res.message, {
                        icon: 2,
                        time: 1000
                    });
                }
                layer.msg('登陆成功，马上跳转到登陆界面~', {
                    icon: 1,
                    time: 1000   //一秒后关闭
                }, () => {
                    //将服务器返回的token值保存到本地
                    localStorage.setItem('token', res.token)
                    //跳转到首页
                    window.top.location.replace('/index.html')
                });
            }
        )
    })
})